package socket;

import java.net.ServerSocket;
import java.net.Socket;
import java.util.List;

import client.Client;
import service.Fichier_Avec_Chemin;
import socket.ThreadSocketSendFile;


public class ServeurPeerToPeer extends Thread {
	private ServerSocket serverSocket;
	private List<Fichier_Avec_Chemin> fichiersPartages;
	
	public ServeurPeerToPeer(List<Fichier_Avec_Chemin> fichiersPartages) {
		try {
			this.serverSocket = new ServerSocket(Client.port);
			this.fichiersPartages = fichiersPartages;
		}
		catch(Exception e) { System.err.println("\tnew ServeurPeerToPeer - Erreur lancement du serveur : " + e.getMessage()); }
	}
	
	@Override
	public void run() {
		//Attente de nouvelle connexion
		try {
			while(true) {
				Socket s = this.serverSocket.accept();
				System.out.println("\tServeurPeerToPeer.run - Nouvelle connexion au serveur pair à pair.");
				(new ThreadSocketSendFile(s, fichiersPartages)).start();
			}
		}
		catch(Exception e) { System.err.println("\tServeurPeerToPeer.run - Erreur connexion au serveur : " + e.getMessage()); }
	}
}
